import Request from '@/utils/luch-request/index.js';
import { options } from './config.js';
const http = new Request(options);
http.interceptors.request.use((config) => { // 可使用async await 做异步操作
	// let token = uni.getStorageSync('token'); //假设有token值需要在头部需要携带
	// if (token) {
	// 	config.header.btoken = token;
	// }
	// 额外参数
	// config.data = config.data || {};
	// config.data.pf = uni.getSystemInfoSync().platform;
	// config.data.sys = uni.getSystemInfoSync().system;

	// 演示custom 用处
	// if (config.custom.auth) {
	//   config.header.token = 'token'
	// }
	// if (config.custom.loading) {
	//  uni.showLoading()
	// }
	/**
	 /* 演示
	 if (!token) { // 如果token不存在，return Promise.reject(config) 会取消本次请求
	    return Promise.reject(config)
	  }
	 **/
	return config
}, config => { // 可使用async await 做异步操作
	return Promise.reject(config)
})
http.interceptors.response.use((response) => {
	/* 对响应成功做点什么 可使用async await 做异步操作*/
	// if (response.data.code !== 200) {
	// 	return Promise.reject(response) // return Promise.reject 可使promise状态进入catch
	// } // 服务端返回的状态码不等于200，则reject()

	// if (response.config.custom.verification) { // 演示自定义参数的作用
	// 	return response.data
	// }

	return response.data;
}, (response) => {
	/*  对响应错误做点什么 （statusCode !== 200）*/
	uni.showToast({
		title: response.data.msg,
		icon: 'none'
	});
	return Promise.reject(response)
})
export default http;
